home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / mk-0th.awk < prev    next >
Text File  |  2002-10-24  |  4KB  |  102 lines

  1. # $Id: mk-0th.awk,v 1.14 2002/08/31 21:36:54 tom Exp $
  2. ##############################################################################
  3. # Copyright (c) 1998-2001 Free Software Foundation, Inc.                     #
  4. #                                                                            #
  5. # Permission is hereby granted, free of charge, to any person obtaining a    #
  6. # copy of this software and associated documentation files (the "Software"), #
  7. # to deal in the Software without restriction, including without limitation  #
  8. # the rights to use, copy, modify, merge, publish, distribute, distribute    #
  9. # with modifications, sublicense, and/or sell copies of the Software, and to #
  10. # permit persons to whom the Software is furnished to do so, subject to the  #
  11. # following conditions:                                                      #
  12. #                                                                            #
  13. # The above copyright notice and this permission notice shall be included in #
  14. # all copies or substantial portions of the Software.                        #
  15. #                                                                            #
  16. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
  17. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
  18. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
  19. # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
  20. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
  21. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
  22. # DEALINGS IN THE SOFTWARE.                                                  #
  23. #                                                                            #
  24. # Except as contained in this notice, the name(s) of the above copyright     #
  25. # holders shall not be used in advertising or otherwise to promote the sale, #
  26. # use or other dealings in this Software without prior written               #
  27. # authorization.                                                             #
  28. ##############################################################################
  29. #
  30. # Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
  31. #
  32. # Generate list of sources for a library, together with lint/lintlib rules
  33. #
  34. # Variables:
  35. #    libname (library name, e.g., "ncurses", "panel", "forms", "menus")
  36. #
  37. BEGIN    {
  38.         print  ""
  39.         print  "# generated by mk-0th.awk"
  40.         print  ""
  41.         print  ".SUFFIXES: .c .cc .h .i .ii"
  42.         print  ".c.i :"
  43.         printf "\t$(CPP) $(CPPFLAGS) $< >$@\n"
  44.         print  ".cc.ii :"
  45.         printf "\t$(CPP) $(CPPFLAGS) $< >$@\n"
  46.         print  ".h.i :"
  47.         printf "\t$(CPP) $(CPPFLAGS) $< >$@\n"
  48.         print  ""
  49.         found = 0;
  50.     }
  51.     !/^[@#]/ {
  52.         if ( $0 != "" && $1 != "link_test" )
  53.         {
  54.             if ( found == 0 )
  55.             {
  56.                 if ( subsets ~ /widechar/ )
  57.                     widechar = 1;
  58.                 else
  59.                     widechar = 0;
  60.                 printf "C_SRC ="
  61.                 if ( $2 == "lib" )
  62.                     found = 1
  63.                 else
  64.                     found = 2
  65.             }
  66.             if ( libname == "c++" || libname == "c++w" ) {
  67.                 printf " \\\n\t%s/%s.cc", $3, $1
  68.             } else if ( widechar == 1 || $3 != "$(wide)" ) {
  69.                 printf " \\\n\t%s/%s.c", $3, $1
  70.             }
  71.         }
  72.     }
  73. END    {
  74.         print  ""
  75.         if ( found == 1 )
  76.         {
  77.             print  ""
  78.             printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname
  79.             print  "# it in the lintlib rule.  We'll only remove in the cleanest setup."
  80.             print  "clean ::"
  81.             printf "\trm -f llib-l%s.*\n", libname
  82.             print  ""
  83.             print  "realclean ::"
  84.             printf "\trm -f llib-l%s\n", libname
  85.             print  ""
  86.             printf "llib-l%s : $(C_SRC)\n", libname
  87.             printf "\tcproto -a -l -DLINT $(CPPFLAGS) $(C_SRC) >$@\n"
  88.             print  ""
  89.             print  "lintlib :"
  90.             printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)", libname
  91.             print ""
  92.             print "lint :"
  93.             print "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)"
  94.         }
  95.         else
  96.         {
  97.             print  ""
  98.             print  "lintlib :"
  99.             print  "\t@echo no action needed"
  100.         }
  101.     }
  102.